<!--
  This file is a part of the open-eBackup project.
  This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
  If a copy of the MPL was not distributed with this file, You can obtain one at
  http://mozilla.org/MPL/2.0/.
  
  Copyright (c) [2024] Huawei Technologies Co.,Ltd.
  
  THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
  EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
  MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
  -->

<lv-form [formGroup]="formGroup" class="formGroup aui-gutter-column-lg">
  <lv-form-item>
    <lv-form-label lvRequired>
      {{ 'common_name_label' | i18n }}
    </lv-form-label>
    <lv-form-control [lvErrorTip]="nameErrorTip">
      <input lv-input type="text" formControlName="name" />
    </lv-form-control>
  </lv-form-item>
  <lv-form-item>
    <lv-form-label lvRequired>
      {{ 'protection_cluster_label' | i18n }}
    </lv-form-label>
    <lv-form-control [lvErrorTip]="baseUtil.requiredErrorTip">
      <lv-select
        formControlName="cluster"
        [lvOptions]="clusterOptions"
        [lvDisabled]="!!item"
        lvValueKey="value"
        lvFilterKey="label"
        lvFilterMode="contains"
        lvShowFilter
      >
      </lv-select>
    </lv-form-control>
  </lv-form-item>
  <lv-form-item>
    <lv-form-label lvRequired>
      {{ 'common_database_label' | i18n }}
    </lv-form-label>
    <lv-form-control [lvErrorTip]="baseUtil.requiredErrorTip">
      <lv-select
        formControlName="database"
        [lvOptions]="databaseOptions"
        [lvDisabled]="!!item"
        lvValueKey="value"
        lvFilterKey="label"
        lvFilterMode="contains"
        lvShowFilter
      >
      </lv-select>
    </lv-form-control>
  </lv-form-item>
  <lv-form-item *ngIf="formGroup.value.database!=0">
    <lv-form-label> </lv-form-label>
    <lv-form-control [lvErrorTip]="baseUtil.requiredErrorTip">
      <lv-datatable [lvData]="clusterOptions">
        <thead>
          <tr>
            <th [width]="220">
              {{ 'common_database_label' | i18n }}
            </th>
            <th>
              {{ 'common_table_label' | i18n }}
            </th>
          </tr>
        </thead>
        <tbody>
          <tr *ngIf="databaseName != null && databaseName !== ''">
            <td>{{ databaseName }}</td>
            <td>
              <span class="table-names-item" *ngFor="let item of selection">{{
                item.name
              }}</span>
              <button lv-button lvType="link" (click)="selectTableset()">
                {{ 'common_select_label' | i18n }}
              </button>
            </td>
          </tr>
        </tbody>
      </lv-datatable>
    </lv-form-control>
  </lv-form-item>
</lv-form>
